lord_of_the_dragonsfandomcom-20200215-history
Game Engine - Warrior XP
Warriors can be trained by using Experience to level them up. Each warrior has an initial need for experience (5 to 12 for rarity 1 to 8). This need increases roughly by 1 every 10 level. The first increase is surprisingly at level 7, and there are further exceptions from this rule - the dark grey cells in the table below are placed where a need has increased (not certain for rarity 8 - maybe the 9-equal-need exception occurs at level 97-105 instead of 67-75) When advancing with books (xp in multiples of 10), some levels are unreachable, as a book advances the warrior by two levels at once. The table below provides the calculated total XP amount for a warrior with a rarity. Together with the Warrior Cards, this may be used to compute a "best A/D increase per XP" ratio for your current warriors - to decide which one to advance first (modified by which 5 to 10 of your warriors are your attack/defense leaders). (Wiki table source code) Calculation program: #!/usr/bin/env ruby def more(level, rarity) change = case when rarity < 6 56 when rarity < 8 76 else 106 end offset = if level < change (level + 3) / 10 else (level + 4) / 10 end end def max_level(rarity) case when rarity < 6 100 when rarity < 8 150 else 200 end end min_rarity = 1 max_rarity = 8 rarity_to_xp = 4 last_level = max_level(max_rarity) xp = [0 * last_level] * min_rarity dxp = 0 * min_rarity (min_rarity..max_rarity).each do |rarity| start_dxp = rarity + rarity_to_xp xpr = (2..last_level).inject(0) do |memo, level| memo << (memo.last + start_dxp + more(level, rarity)) end xp << xpr dxp << 0 end xp.transpose.each_with_index do |xpsum, index| level = index + 1 puts "|-\n|#{level}" (min_rarity..max_rarity).each do |rarity| if level > max_level(rarity) puts "| -" else m = more(level, rarity) cell_type = if dxprarity < m dxprarity = m "!" else "|" end puts "#{cell_type} style=\"text-align:center;\"|#{xpsumrarity}" end end end There are some helpful rules, how you can determine even for a high level monster, which base xp class it has: #rarity + 4 (rule of thumb at least for rarity 1 - 7) #From the change in "to go" when you level up: #*Level 30: to go 3 #*Level 31: to go 5 #*(you had to put in only 1x 10 XP) #*(both levels have equal xp requirements) #*=> the difference in to go is what is missing as required XP for the next level up #*=> Level 31 takes 10 + 5 - 3 = 12 XP #*=> it's a base 9 warrior #From the combination of % and to go #*After level up to 30: 45% (system rounds up) #*At level 30: to go 5 #*=> 5 equals 55% #*=> level up to 31 requires 5 * 100/ 55 = 9 XP #*=> it's a base 6 warrior #From the to go and a lookup into the table #*At level 29: to go 3 #*=> the warrior has always n * 10 XP #*=> the required XP is n * 10 + 3 XP ("ends with digit 3") #*=> the only matching required XP for the next level(!) is 303 #*=> it's a base 9 warrior